package repository

import (
    "hitme/go-api/models"
)

type userRep struct {
    BaseRepo
}

var UserRep = &userRep{BaseRepo: BaseRepo{
    IModel: models.OssFileModel,
}}

// FindByMobile 根据手机号获取用户详情
func (r *userRep) FindByMobile(mobile string) models.User {
    var userInfo models.User
    r.Model().Where("mobile = ?", mobile).First(&userInfo)
    return userInfo
}

// FindById 根据手机号获取用户详情
func (r *userRep) FindById(id uint64) models.User {
    var userInfo models.User
    r.Model().Where("id = ?", id).First(&userInfo)
    return userInfo
}

// Create 创建用户
func (r *userRep) Create(data models.User) (models.User, error) {
    err := r.Model().Create(&data).Error
    return data, err
}

// Update 更新账户信息
func (r *userRep) Update(id uint64, data models.User) error {
    return r.Model().Where("id = ?", id).Updates(&data).Error
}

// FindByOpenid 根据openid获取用户详情
func (r *userRep) FindByOpenid(openid string) models.User {
    var userInfo models.User
    r.Model().Where("open_id = ?", openid).First(&userInfo)
    return userInfo
}